1. Technical Field
The present invention relates in general to computer operating systems and device drivers, and in particular, to method for replacing a device driver without disrupting the connection of a device to an operating system.
2. Description of the Related Art
Computer systems use device drivers to provide an interface between an operating system and physical devices such as storage devices, network adapters, and display adapters. This interface is supplied to operating systems services and/or application programs. Traditionally, device drivers have been static modules that are loaded at initialization time and contain all of the program instructions required for sending commands to and exchanging data with the physical device.
More recently, dynamically loadable device driver interfaces have been implemented in operating systems such as Windows NT(copyright) and Windows 2000(copyright) that are manufactured by Microsoft(copyright) Corporation. Dynamically loadable device drivers can be loaded selectively based upon need to access the particular device supported by the driver. Dynamic device driver interfaces also allow the replacement of device drivers by shutting down the device driver, copying a new device driver in place of the old device driver and then starting the new device driver. This procedure typically requires shutting down all layers of device driver connections (or driver xe2x80x9cstackxe2x80x9d) since in operating systems such as WINDOWS NT and WINDOWS 2000 the driver stack connections are built from the lowest level (physical layer) device driver to the highest level device driver. This presents a problem when an upgrade is desired that affects primary storage devices or devices that form part of the core processing components such as bus interface drivers or memory managers. If the device driver being replaced is a boot device driver or the storage driver for the device containing an operating system swap file, the operating system typically has to be shut down in order to replace the driver, since file device input output must be maintained on these devices for proper operation of the operating system.
Within an Internet server, computer systems that control critical systems, or other downtime intolerant computer application, there is a great need for a facility to upgrade device drivers without taking the system off-line or disrupting operations. Therefore, it is desirable to provide a method that allows for xe2x80x9chot-swappingxe2x80x9d a device driver without shutting down the computer system. The hot-swapping capability is also useful in the development environment where the operating system typically must be re-booted after every device driver change when a critical file system device or core processing device driver is being developed.
The objectives of providing a method to swap a device driver controlling a device in a computer while maintaining operating systems device presence and operating systems interface operation are achieved by a method including the steps of copying the new device driver to a location within the computer, indicating to a shell device driver that an update of the device driver has been requested, disconnecting the device driver from the device in response to the update indication, connecting the new device driver to the device.
The method may be further embodied in a computer program product adapted for use with a computer system having program instructions for carrying out the steps of the method.
The objectives above are also achieved in a computer system that includes file transfer means for copying a new device driver to the computer system, and a shell device driver having an update interface. The shell device driver also includes an operating system side entry point interface, and a device driver side entry point interface for selectively coupling a selected device driver. The shell device driver uncouples the original device driver and couples to the new device driver upon receiving an update request.
All objects, features, and advantages of the present invention will become apparent in the following detailed written description.